THE VARIABLE RAMDISK¢ ¢ When the ATARI 130XE was introduced to the market-place, one of¢ the first programs specially written for it in the public domain was¢ the RAMDISK handler. The source code is available in Data Library #3¢ in the ATARI Sig on CompUServe.¢ ¢ The file sets up the extra 64k 'block' of RAM to emulate a floppy¢ disk, thereby allowing extremely fast, though temporary storage of¢ data without any additional commands other than the normal DOS¢ functions.¢ ¢ As written, RAMDISK2, as it is called, sets up the RAMDISK as¢ drive #4 (D4:). The modification presented here, called RMDSKVAR,¢ allows the user to specify which drive number will reference the¢ RAMDISK - from D2: to D8: (since it will not work without a floppy¢ drive present, we don't want it to become D1:).¢ ¢ Recently, there have been several methods described to upgrade the¢ ATARI 130XE and the 800XL to various configurations up to 320k. These¢ are said to be '130XE' compatible if they use PORTB ($D301) for memory¢ control. The compatibilty stems from the use of bits 2 and 3 to¢ select which 16k bank of the extra RAM is accessed by the 6502, and¢ bit 4 to enable CPU access to the extra RAM (as a whole).¢ ¢ So far, all the upgrades that I have seen use bits 6 and 1 to¢ select which 64k block of memory is accessed by the CPU when bit 4 is¢ cleared. This is what I refer to as 'XE compatible'.¢ ¢ In addition to allowing control over the drive #, RMDSKVAR allows¢ the user to specify which 64k 'block' of extra RAM will contain the¢ RAMDISK. This is especially useful if you have a program that already¢ uses the 130XE's original block (such as BASIC XE).¢ ¢ There are two versions - one for the DOSXL v2.30 command processor¢ and one for the menu option (and possibly some others). They are¢ uploaded as RMDVCP.XMO and RMDVAR.XMO, respectively. The DOSXL command¢ version allows the user to specify the necessary parameters via the DOS¢ XL command line, whereas the other version requires separate entry of¢ these parameters after a screen prompt.¢ ¢ THE PARAMETERS¢ ¢ 1) The 'block' of memory in which the RAMDISK will reside is¢ referenced as 'A' through 'D'. The default is 'A' (the original 130XE¢ block).¢ ¢ 2) The drive number for the RAMDISK is referenced as '2' through¢ '8' (d2: through D8:). The default is D4:.¢ ¢ Here are some DOSXL command line examples:-¢ ¢ (D1:) RAMDISK -A4 - sets up the RAMDISK as D4: in the original¢ block of memory.¢ ¢ (D1:) RAMDISK - same as above (by default)¢ ¢ (D1:) RAMDISK -2 - sets up the RAMDISK as D2: in the original¢ block of memory.¢ ¢ (D1): RAMDISK -C5 - sets up the RAMDISK as D5: in the third¢ block of memory (bit 6 set, bit 1 clear).¢ ¢ (D1:) RAMDISK -B - sets up the RAMDISK as D4: in the second¢ bank of memory (bit 6 clear, bit 1 set).¢ ¢ If you are using the DOSXL menu version, a prompt (>) will appear.¢ You may then enter either a letter (A - D), a number (2 - 8), neither¢ or both. When you press return, the RAMDISK will initialise.¢ ¢ If you have only one block of memory (ie. an unmodified 130XE) and¢ you specify a parameter other than 'A' (along with any number), the¢ RAMDISK will fail to initialise, since it cannot find the block. If¢ you specify a parameter outside the allowed range, the RAMDISK will¢ use the default conditions (A4).¢ ¢ If you have any questions (or complaints!) leave a message in the¢ SIG.¢ ¢ [Peter Nicholls - 71777,3640]¢